package com.huawei.aiservice.impl.strategy;

import com.huawei.aiservice.entity.pojo.Defect;
import com.huawei.aiservice.entity.pojo.FileEntity;
import com.huawei.aiservice.entity.pojo.Rule;
import com.huawei.aiservice.service.DefectService;
import com.huawei.aiservice.service.FileRuleService;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public abstract class RuleStrategy {

    /**
     * 拿着文件，访问LLM，返回结果
     *
     * @param map 待检查的文件
     */
    public abstract void execute(Map<MultipartFile, FileEntity> map, ThreadPoolTaskExecutor executor,
                                 Rule rule, DefectService defectService, String fragment, FileRuleService fileRuleService);
}
